# -*- coding: utf-8 -*-
from nanomsg import Socket, PAIR
import rlisYumiPy
import time

yumi = rlisYumiPy.rlisYumi
Info = rlisYumiPy.Info 
cartesianPos = rlisYumiPy.cartesianPos

#检查服务器
def checkServer(s1):
    s1.send(bytes(yumi.ping()))
    revMsg = str(s1.recv())
    info,msg = yumi.parseMsg(revMsg)
    if info == Info.PING_OK :
        print(msg)

    s1.send(bytes(yumi.checkServerTcps()))
    revMsg = str(s1.recv())
    info,msg = yumi.parseMsg(revMsg)
    if info == Info.TCP_OK :
        print(msg) 
    if info == Info.TCP_ERR :
        print(msg)
        quit()

    running = True
    count = 0

    while running :
        s1.send(bytes(yumi.checkServerRunning()))
        revMsg = str(s1.recv())
        info,msg = yumi.parseMsg(revMsg)
        if info == Info.SERVER_NOT_RUNNING:
            print(msg)
            running =False

        if info == Info.SERVER_IS_RUNNING :
            print(msg+str(count))
            if(count>=20):
                print("退出")
                quit()
            count = count + 1
            time.sleep(1)

#连接服务器
s1 = Socket(PAIR)
s1.connect('tcp://127.0.0.1:9000')

checkServer(s1)#检查服务器

pos = cartesianPos(10,10,10,0,0,0)   # 笛卡尔坐标系下位置
msg = yumi.LOffsetW(pos,yumi.emptyPath())# 设置指令
s1.send(bytes(msg))  #发送
revMsg = str(s1.recv())#接受
info,msg = yumi.parseMsg(revMsg)#处理接受信息
if info == Info.MOVE_OK : #运行OK
    print(msg)

msg = yumi.resetLArm()
s1.send(bytes(msg))
revMsg = str(s1.recv())
info,msg = yumi.parseMsg(revMsg)
if info == Info.MOVE_OK :
    print(msg)

msg = yumi.RHandClose()
s1.send(bytes(msg))
revMsg = str(s1.recv())
info,msg = yumi.parseMsg(revMsg)
if info == Info.MOVE_OK :
    print(msg)

msg = yumi.getRerunFileNames()
s1.send(bytes(msg))
revMsg = str(s1.recv())
info,msg = yumi.parseMsg(revMsg)
if info == Info.RERUN_FILE_NAMES :
    try:
        print(msg.index("双臂test"))
    except:
        print("未找到双臂test1")
        quit()

s1.close()
